home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
gnu
/
amiga
/
lbt92041.lha
/
base.c
next >
Wrap
C/C++ Source or Header
|
1992-04-13
|
830b
|
44 lines
/* call this with the following defines (for example):
LIBRARY_NAME "intuition.library"
LIBRARY_BASE IntuitionBase
LIBRARY_VERS __auto_intui_vers
*/
#include <exec/types.h>
#include <inline/exec.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
struct Library * LIBRARY_BASE = 0;
extern int LIBRARY_VERS;
#define STRING(a) a, sizeof (a) - 1
static void
constructor ()
{
if (!(LIBRARY_BASE = OpenLibrary (LIBRARY_NAME, LIBRARY_VERS)))
{
write (2, STRING("Can't open " LIBRARY_NAME "!\n"));
abort ();
}
}
static void
destructor ()
{
if (LIBRARY_BASE)
{
CloseLibrary (LIBRARY_BASE);
LIBRARY_BASE = 0;
}
}
asm (" .text; .stabs \"___CTOR_LIST__\",22,0,0,_constructor");
asm (" .text; .stabs \"___DTOR_LIST__\",22,0,0,_destructor");